home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / TECHNICA / AUTOCAD / H107.ZIP / APR91.ZIP / TIP650.LSP < prev    next >
Text File  |  1991-04-11  |  3KB  |  91 lines

  1. ;TIP650.LSP   Wave the Flag   (c)1991, Watson Kilbourne
  2.  
  3. (defun C:USA-FLAG (/ SP HT XD XA EP YA D1
  4.    D2 D3 D4 RP RH XZ YZ P1 P2 P3 P4 P5 P6
  5.    P7 P8 P9 PX PY PZ S1 S2 S3 S4 S5 S6)
  6.  (setvar "CMDECHO" 0)
  7.    (while (= SP nil)
  8.      (setq SP (getpoint
  9.    "\nPick lower left corner of flag: "))
  10.    )
  11.    (while (= HT nil)
  12.     (setq HT (getcorner SP
  13.    "\nPick upper right corner of flag:"))
  14.    )
  15.    (if (>= (angle SP HT)(/ pi 2))
  16.      (setq HT (polar SP (/ pi 4)
  17.       (distance SP HT)))
  18.    )
  19.    (setq XD (distance SP HT)
  20.          XA (angle SP HT)
  21.          EP (polar SP (/ pi 2)
  22.               (* XD (sin XA)))
  23.          YA (angle SP EP)
  24.          D1 (distance SP EP)
  25.          D2 (/ D1 13)
  26.          D3 (* D2 0.8)
  27.          D4 (* D2 1.4)
  28.          RP (polar SP 0.0
  29.               (* D1 1.5))
  30.          RH (polar EP 0.0
  31.               (* D1 1.5))
  32.          XZ (polar SP
  33.               (* pi 1.25) D2)
  34.          YZ (polar RH
  35.               (* pi 0.25) D2)
  36.          P1 (polar SP (/ pi 2)(* D2 6))
  37.          P2 (polar P1 0.0 (* D2 8.5))
  38.          P3 (polar EP 0.0 (* D2 8.5))
  39.          P4 (polar SP YA D2)
  40.          P5 (polar RP YA D2)
  41.          P6 (polar P4 YA D2)
  42.          P7 (polar P5 YA D2)
  43.          P8 (polar RP YA (* D2 6))
  44.          P9 (polar P2 YA D2)
  45.          PX (polar P8 YA D2)
  46.          PY (polar P9 YA D2)
  47.          PZ (polar PX YA D2)
  48.          S1 (polar P1 (* pi 0.25) D2)
  49.          S2 (polar S1 (* pi 0.3)
  50.              (* D3 0.172))
  51.          S3 (polar S1 (* pi 0.7)
  52.              (* D3 0.172))
  53.          S4 (polar S1 YA (* D3 0.43952))
  54.          S5 (polar S1 (* pi 0.25) D2)
  55.          S6 (polar P3 (* pi 1.25) D4)
  56.    )
  57.    (command "BLIPMODE" "OFF"
  58.             "FILL" "ON"
  59.             "ZOOM" "W" XZ YZ
  60.             "LAYER" "N" "BLUE" "C" "5"
  61.                "BLUE" "S" "BLUE" ""
  62.             "SOLID" P1 P2 EP P3 ""
  63.             "LAYER" "N" "RED" "C" "1"
  64.                "RED" "S" "RED" ""
  65.             "SOLID" SP P4 RP P5 ""
  66.             "ARRAY" "L" "" "R" "3" "1"
  67.               (* D2 2)
  68.             "SOLID" P2 P9 P8 PX ""
  69.             "ARRAY" "L" "" "R" "4" "1"
  70.                (* D2 2)
  71.             "LAYER" "N" "WHITE" "C" "7"
  72.               "WHITE" "S" "WHITE" ""
  73.             "SOLID" P4 P6 P5 P7 ""
  74.             "ARRAY" "L" "" "R" "3" "1"
  75.               (* D2 2)
  76.             "SOLID" P9 PY PX PZ ""
  77.             "ARRAY" "L" "" "R" "3" "1"
  78.               (* D2 2)
  79.             "SOLID" S1 S2 S3 S4 ""
  80.             "ARRAY" "L" "" "P" S1 "5"
  81.               "360" "Y"
  82.             "ARRAY" "W" P1 S5 "" "R" "5"
  83.               "6" D4 D4
  84.             "COPY" "W" P1 S6 "" S1 S5
  85.             "BLIPMODE" "ON"
  86.    )
  87.    (setvar "CMDECHO" 1)
  88.   (princ)
  89. )
  90.  
  91.